package recursivecode.fibonacci;

/**
 * 功能描述:斐波那契数列 : 如果每对兔子（一雄一雌）每月能生殖一对小兔子（也是一雄 一[xq3] 雌，下同），每对兔子第一个月没有生殖能力，但从第二个 月[xq4]
 * 以后便能每月生一对小兔子.假定[xq5] 这些兔子都没有死亡现象，那么从第一对刚出生的兔子开始，12 个月以后会有多少 对[xq6] 兔子呢？ 解释说明为：一个月[xq7] ：
 * 只有一对兔子；第二个月： 仍然只有一对兔子；第三个月：这对兔子生了一对小兔子， 共有 1+1=2 对兔子.第四个月[xq8] ：最初的一对兔子又生一对兔 子，
 * 共有 2+1=3 对兔子.则由第一个月到第十二个月兔子的 对数分别是：1，1，2，3，5，8，13，21，34，55，89，144， ……，
 *
 * 2024/07/11
 *
 * @author ZhangYi
 */
public class FibonacciSequence {

	private final static int MONTH_1 = 1;
	private final static int MONTH_2 = 2;
	/**
	 * 斐波那契数列
	 *
	 * @param month 年份数,1 表示1年,13 表示13 年
	 * @return int
	 * @author ZhangYi
	 */
	private static int fibonacciSequence(int month) {
		if (month == MONTH_1 || month == MONTH_2) {
			return 1;
		}

		return fibonacciSequence(month - 1) + fibonacciSequence(month - 2);
	}

	public static void main(String[] args) {
		System.out.println(fibonacciSequence(7));
	}


}
